Computers require storage for data and programs so they may properly operate and generate the results for which they have been programmed. Typically, a computer includes program memory for the storage of programs that are executed by one or more processors associated with a computer. Program memory may be read only or read/write memory. The access times for program memory are typically short because requiring a processor to wait for retrieval of instructions to execute results in a reduction in throughput for the computer. Some programs may reside in memory having short access times while others may be stored in memory having longer access time, such as a disk drive or the like. Programs stored on disks are typically retrieved when required for execution, loaded into higher speed memory, and executed. In this manner, programs remain available for execution without requiring permanent storage in the program memory having shorter access time.
A similar philosophy has been implemented with hierarchical storage management systems (HSMs). In these systems, files are stored in different types of media having various access times to reduce the need for storing all of the files in the type of media require to support the throughput necessary for efficient utilization of the computer's resources. Typically, HSMs migrate files that are less frequently accessed or that have not been accessed for some defined period of time from secondary storage, such as hard disks, to tertiary storage, such as magneto-optical disks or a tape library. When a program attempts to access a file that is maintained on tertiary media, the HSM moves the file from tertiary storage to secondary storage for access by the requesting program. The file remains in secondary storage until the condition for file migration occurs and the file is returned to tertiary storage.
As image resolution rates for grayscale and color images have increased so have the memory requirements for storing image files. Also, the growing use of color images has expanded the need for more storage space in computers. As the size of image files has grown, the number of image files that may be stored in secondary memory of a computer has decreased. The amount of memory available for files in secondary storage is an important parameter for determining when to migrate files in HSMs. In any HSM, the system needs to maintain a portion of secondary storage space for new files being generated by application programs and for migrating files from tertiary storage to secondary storage as they are requested by application programs. Incoming image files may quickly consume available secondary storage for a computer.
There is a need, therefore, for an apparatus and method for managing image files in an HSM that reduces the memory required for storage of multiple image files in secondary storage.